package com.mf.ergate.web.service.sys;

import com.mf.ergate.api.sys.model.dto.*;
import com.mf.ergate.api.sys.model.vo.FileStorageInfoVo;
import com.mf.framework.common.model.Page;

/**
 * 文件存储信息Service层接口类
 * User: zhaoming
 * DateTime: 2019-03-11
 * To change this template use File | Settings | File Templates.
 **/
public interface FileStorageInfoService{

    /**
     * 保存
     * @param fileStorageInfoSaveDto 文件存储信息保存Dto
     * @return 文件存储信息
     */
    FileStorageInfoVo save(FileStorageInfoSaveDto fileStorageInfoSaveDto);

    /**
     * 删除(逻辑删除)
     * @param fileStorageInfoDeleteDto 文件存储信息删除Dto
     * @return 执行结果
     */
    Boolean delete(FileStorageInfoDeleteDto fileStorageInfoDeleteDto);
    
    /**
     * 根据唯一编号查询
     * @param fileStorageInfoNo 文件存储信息编号
     * @return 文件存储信息
     */
    FileStorageInfoVo selectByUniqueNo(String fileStorageInfoNo);

    /**
     * 根据条件分页查询
     * @param page 远程分页
     * @param fileStorageInfoQueryDto 文件存储信息查询Dto
     * @return 文件存储信息分页列表
     */
    Page<FileStorageInfoVo> selectPage(Page page, FileStorageInfoQueryDto fileStorageInfoQueryDto);

    /**
     * 下载
     * @param uniqueNo 唯一编号
     * @return 文件
     */
    byte[] download(String uniqueNo);
}
